Skip to content

Aci sampleapp#59

Merged
DrisDary merged 11 commits intomainfrom
aci-sampleapp
Mar 17, 2026
Merged

Aci sampleapp#59
DrisDary merged 11 commits intomainfrom
aci-sampleapp

Conversation

@DrisDary
Copy link
Copy Markdown
Contributor

@DrisDary DrisDary commented Mar 13, 2026

Motivation

Add the first ACI (Azure Container Instances) sample app to demonstrate deploying a containerized web application using four Azure services: Blob Storage, Key Vault, Container Registry, and Container Instances.

This provides an end-to-end example that exercises the ACI emulator's core features — container lifecycle management, DNS/FQDN, container exec, registry credentials, and integration with other Azure services.

Changes

deploy.sh — Creates a Storage Account, Blob Container, Key Vault (stores the connection string), ACR (builds and pushes the Docker image), and an ACI container group that pulls from ACR with secrets injected as environment variables
validate.sh — Verifies all resources exist and exercises ACI operations: get, list, logs (with --tail), exec, stop, start, restart. Displays the app URL at the end.
cleanup.sh — Tears down all resources in reverse dependency order (ACI → ACR → Key Vault with purge → Storage → Resource Group)

Tests

Deployed and validated end-to-end on LocalStack Azure emulator

Related

PR: 6411 (fixes ACI container DNS/networking)

@DrisDary DrisDary self-assigned this Mar 13, 2026
Copy link
Copy Markdown
Contributor

@paolosalvatori paolosalvatori left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really cool, nice job 🥇 I see that you provided a Bicep, Terraform, and Azure CLI based deployment. In case of Terraform, you could not use Key Vault as it does not support Terraform yet.

A few requests, if you can:

  • Add READMEs to the bicep, scripts, and terraform folders. You can customize the ones I created for the latest example. You can even simplify them to the bare minimum and just include minimal instructions.
  • Add the sample to the table in the main README.md in the root.
  • Add my "Azure Functions App and Service Bus" sample to run-samples.sh, I forgot to do it.

I can create a Visio diagram for you tomorrow, if you like, but even the textual one is not bad.

@DrisDary
Copy link
Copy Markdown
Contributor Author

Really cool, nice job 🥇 I see that you provided a Bicep, Terraform, and Azure CLI based deployment. In case of Terraform, you could not use Key Vault as it does not support Terraform yet.

A few requests, if you can:

  • Add READMEs to the bicep, scripts, and terraform folders. You can customize the ones I created for the latest example. You can even simplify them to the bare minimum and just include minimal instructions.
  • Add the sample to the table in the main README.md in the root.
  • Add my "Azure Functions App and Service Bus" sample to run-samples.sh, I forgot to do it.

I can create a Visio diagram for you tomorrow, if you like, but even the textual one is not bad.

Really cool, nice job 🥇 I see that you provided a Bicep, Terraform, and Azure CLI based deployment. In case of Terraform, you could not use Key Vault as it does not support Terraform yet.

A few requests, if you can:

  • Add READMEs to the bicep, scripts, and terraform folders. You can customize the ones I created for the latest example. You can even simplify them to the bare minimum and just include minimal instructions.
  • Add the sample to the table in the main README.md in the root.
  • Add my "Azure Functions App and Service Bus" sample to run-samples.sh, I forgot to do it.

I can create a Visio diagram for you tomorrow, if you like, but even the textual one is not bad.

Thanks I will add the readmes and you app to run-samples.sh now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants